package com.ktgj.flight.mapper;

import java.util.List;

import com.ktgj.flight.domain.Airport;
import com.ktgj.flight.domain.KtserviceAirport;
import com.ktgj.flight.vo.KtserviceAirportSelectVo;
import org.apache.ibatis.annotations.Param;

/**
 * 机场、高铁、港口Mapper接口
 * 
 * @author ruoyi
 * @date 2021-11-10
 */
public interface KtserviceAirportMapper 
{
    /**
     * 查询机场、高铁、港口
     * 
     * @param airportCode 机场、高铁、港口ID
     * @return 机场、高铁、港口
     */
    public KtserviceAirport selectKtserviceAirportById(String airportCode);

    /**
     * 查询机场、高铁、港口列表
     * 
     * @param ktserviceAirport 机场、高铁、港口
     * @return 机场、高铁、港口集合
     */
    public List<KtserviceAirport> selectKtserviceAirportList(KtserviceAirport ktserviceAirport);

    /**
     * 新增机场、高铁、港口
     * 
     * @param ktserviceAirport 机场、高铁、港口
     * @return 结果
     */
    public int insertKtserviceAirport(KtserviceAirport ktserviceAirport);

    /**
     * 修改机场、高铁、港口
     * 
     * @param ktserviceAirport 机场、高铁、港口
     * @return 结果
     */
    public int updateKtserviceAirport(KtserviceAirport ktserviceAirport);

    /**
     * 删除机场、高铁、港口
     * 
     * @param airportCode 机场、高铁、港口ID
     * @return 结果
     */
    public int deleteKtserviceAirportById(String airportCode);

    /**
     * 批量删除机场、高铁、港口
     * 
     * @param airportCodes 需要删除的数据ID
     * @return 结果
     */
    public int deleteKtserviceAirportByIds(String[] airportCodes);

    /**
     * 根据城市名称查询城市代码
     * */
    public List<KtserviceAirport> selectKtserviceAirportByCityName(String cityName);

    /**
     * 根据城市ID查询所有对应网点
     * */
    public List<KtserviceAirport> selectKtserviceAirportByCityId(Long cityId);

    /**
     * 查询机场，高铁，港口列表(显示)
     * */
    public List<KtserviceAirport> selectKtserviceAirportSelectVo(Long classIficationType);

    /**
     * 查询热门机场，高铁，港口列表(显示)
     * */
    public List<KtserviceAirport> selectKtserviceAirportByPopular(Long classIficationType);

    /**
     * 查询全部高铁
     * */
    public List<KtserviceAirport> selectKtserviceAirportByCities();

    /**
     * 查询热门城市
     * */
    public List<KtserviceAirport> selectKtserviceAirportByPopularCities();

    /**
     * 根据城市ID查询所有对应机场
     * */
    public List<KtserviceAirport> selectKtserviceAirportByAirport(@Param("cityId") Long cityId,
                                                                  @Param("classIficationType") String classIficationType);
}
